Systems and Methods for Performing Task Using Simple Code

ABSTRACT

Systems and methods for performing a task via a simple code. Combination of a marker and a simple code represents a task. In an aspect, after a code is received, possible objects are determined and presented. After a user selects a possible object, a task related to the object is performed. In another aspect, a task is performed when a voice input contains a code and a user gazes or gestures at a device.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation-in-part of U.S. patent application Ser. No. 17/067,681, filed Oct. 10, 2020, which is a continuation-in-part of U.S. patent application Ser. No. 16/423,038, filed May 27, 2019, which is a continuation-in-part of U.S. patent application Ser. No. 14/961,901, filed Dec. 8, 2015. This application is related to U.S. patent application Ser. No. 15/723,082, filed Oct. 2, 2017, Ser. No. 15/917,625, filed Mar. 10, 2018, Ser. No. 15/936,418, filed Mar. 26, 2018, and Ser. No. 16/401,094, filed May 1, 2019. This application is also related to U.S. patent application Ser. No. 15/095,083, filed Apr. 10, 2016, and U.S. patent application Ser. No. 16/912,687, filed Jun. 25, 2020.

BACKGROUND—FIELD OF INVENTION

This invention relates to using a code to execute a task, more particularly to using a code to determine and execute a task, using a gazing or gesture act to determine a device for executing a task, and using a code to determine an object and execute a task related to the object.

BACKGROUND—DESCRIPTION OF PRIOR ART

As more and more information is provided or published on the Internet, easy access of online info becomes increasingly desirable. So far going directly to a website via a browser is the most used method to retrieve information online. For instance, if info is needed for a product of a store, we may visit the store's website looking for a relevant page. Accessing a website requires the knowledge of website address, or uniform resource locator (URL). A user may enter a URL manually or search for the website using key words. But for most people, keying in a URL's long string of letters and signs on a device, especially on a smartphone with a small virtual keyboard, is inconvenient and frustrating. Opening a search page, keying in a key word, and starting a search process may cause several steps and may be frustrating as well. In fact, people tend to avoid keying in words, especially unfamiliar words or a string whenever possible. Another access method involves code scanning using, for instance, a phone camera and certain application. For example, there are products and printed materials which carry a quick response (QR) code. QR code is a two-dimensional barcode which may contain URL and other information. After a QR code is scanned by a smart phone, with an appropriate app, the phone may be directed to a website determined by the QR code. Then the phone may download data from there, and display a webpage. In the process, scanning causes the phone to display certain content automatically and there is no need for a user to enter anything. However, although a QR code brings some convenience, scanning a code itself is still awkward and demanding. For instance, a user may have to hold a smartphone firmly, aim at a code precisely, and then wait for a qualified scan to take place. The scan process requires time, some skill, and patience, which is not well accepted by some users.

Therefore, there exists a need for easy, quick, and convenient access of online information.

At times, people make phone calls to reach a business or organization for information or participation of certain program. A phone number may come from a TV commercial, radio advertisement, magazine ad, or newspaper ad. The number, new and unknown, has to be remembered temporarily and most likely would be used only once. For most people, memorizing a phone number is not an easy job. It is both intimidating and challenging, in particular when a number is briefly shown on a television screen or announced on the air only once or twice. As a consequence, calling a business, which may be promoted in advertisements costly, is actually hindered by the advertised info, i.e., the long phone number. In addition, keying in a long phone number is also boring and demanding.

Therefore, there exists a need for easy, quick, and convenient ways to call an unfamiliar number.

Since both accessing online information and making a phone call are executable tasks for certain electronic devices, such as smartphones, above-mentioned needs may be summarized as a need for performing a task easily and conveniently.

In some cases, a device needs to be determined before performing a task. It is desirable for a method to determine a device conveniently. In some cases, an object needs to be determined before performing a task. It is desirable for a method to determine an object conveniently.

OBJECTS AND ADVANTAGES

Accordingly, several main objects and advantages of the present invention are:

-   -   a). to provide improved methods and systems to do a task, such         as accessing online information or making a phone call;     -   b). to provide such methods and systems which combine a         distinctive marker with a simple code to represent a task         exclusively;     -   c). to provide such methods and systems which use the info of         location, time, object, entity, image, or any combination         thereof as a distinctive marker;     -   d). to provide such methods and systems which enable a user to         do a task via a simple code;     -   e). to provide such methods and systems which enable a user to         do a task by uttering a predetermined name (e.g., a device name         or program name) and a simple code;     -   f). to provide such methods and systems which enable a user to         determine a device for a task by a gazing or gesturing act;     -   g). to provide such methods and systems which use a code to         determine possible objects, and perform a task after a possible         object is selected;     -   h). to provide such methods and systems which use a code to         determine possible categories, determine possible objects after         a possible category is selected, and perform a task after a         possible object is selected; and     -   i). to provide such methods and systems which make performing a         task easy, quick, and convenient.

Further objects and advantages will become apparent from a consideration of the drawings and ensuing description.

SUMMARY

In accordance with the present invention, methods and systems are proposed for performing a task using a simple code. A simple code may be submitted by manual or verbal methods. A simple code may be combined with a distinctive marker to represent a task. Marker info may include a location of a device, time, object, entity, image, or any combination thereof. Marker info may be obtained automatically. After a code and a marker are transmitted from a device to a service facility, a corresponding task is retrieved and then sent to the device for implementation.

To do a task, a user may utter a predetermined name (e.g., a device name or program name) and a simple code. A user may also utter a simple code and select a device with a gaze act or gestures.

In some embodiments, after a code is received, possible objects having the code are determined and presented. After a user selects a possible object, a task related to the possible object, such as displaying certain info about the object, is implemented. In some embodiments, after a code is received, possible categories related to the code are determined and presented. After a user selects a possible category, possible objects in the possible category are determined and presented. After a user selects a possible object, a task related to the possible object is implemented.

DRAWING FIGURES

FIG. 1 is an exemplary block diagram describing one embodiment in accordance with the present invention.

FIG. 2 is an exemplary flow diagram showing one embodiment of task representation in accordance with the present invention.

FIG. 3 is an exemplary flow diagram showing one embodiment of accessing online information in accordance with the present invention.

FIG. 4 is a table showing examples of simple codes in accordance with the present invention.

FIG. 5 is an exemplary flow diagram showing embodiments with different markers in accordance with the present invention.

FIG. 6 uses exemplary diagrams to show one embodiment using simple code to access web info in accordance with the present invention.

FIG. 7 is an exemplary flow diagram illustrating embodiments of making a phone call with a simple code in accordance with the present invention.

FIG. 8 shows exemplary diagrams illustrating embodiments of making a phone call using verbal input in accordance with the present invention.

FIGS. 9-A, 9-B, 10, 11, and 12 show exemplary diagrams illustrating embodiments of issuing a verbal command in accordance with the present invention.

FIGS. 13-A, 13-B, and 13-C show exemplary labels containing a code in accordance with the present invention.

FIGS. 14-A, 14-B, 14-C, and 14-D show exemplary diagrams illustrating embodiments of receiving a code and presenting possible objects in accordance with the present invention.

FIG. 15 is an exemplary flow diagram illustrating embodiments of receiving a code, determining an object, and performing a task in accordance with the present invention.

FIGS. 16-A, 16-B, 16-C, and 16-D show exemplary diagrams illustrating a self-checkout process using a code and user device in accordance with the present invention.

REFERENCE NUMERALS IN DRAWINGS 10 Sensor 12 Device 14 Processor 16 Computer Readable Medium 18 Sensor 20 Sensor 22 Poster 24 Smartphone 26 Device 28 User 30 Device 32 Device 34 Sensor 36 Label 37 Label 38 Barcode 39 Label 40 QR Code 42 Space 44 Button 46 Button 48 Screen 50 Button 52 Button 54 Button 56 Button 58 Button 60 Button 62 Button 64 Button 66 Button 68 Button 70 Button 72 Button 74 Space 76 Button 78 Button 80 Button 82 Button 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 135, 136, 137, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, and 180 are exemplary steps.

DETAILED DESCRIPTION

The following exemplary embodiments are provided for complete disclosure of the present invention and to fully inform the scope of the present invention to those skilled in the art, and the present invention is not limited to the schematic embodiments disclosed, but can be implemented in various types.

FIG. 1 is an illustrative block diagram of one embodiment according to the present invention. A device 12 may represent an electronic device, including but not limited to a smart phone, a smart watch, a wearable device, a handheld computer, a tablet computer, a virtual reality (VR) device, an augmented reality (AR) device, and the like. Device 12 may include a processor 14 and computer readable medium 16. Processor 14 may mean one or more processor chips or systems. Medium 16 may include a memory hierarchy built by one or more memory chips or storage modules like RAM, ROM, FLASH, magnetic, optical and/or thermal storage devices. Processor 14 may run programs or sets of executable instructions stored in medium 16 for performing various functions and tasks, e.g., surfing on the Internet, placing a phone call, placing an online purchase order, playing video or music, gaming, electronic payment, social networking, sending and receiving emails, short messages, files, and data, launching or executing a program or app, etc. Device 12 may also include input, output, and communication components, which may be individual modules or integrated with processor 14. The communication components may connect the device to another device or a communication network. Usually, Device 12 may have a display (not shown) and a graphical user interface (GUI). A display may have liquid crystal display (LCD) screen, organic light emitting diode (OLED) screen (including active matrix OLED (AMOLED) screen), or LED screen. A screen surface may be sensitive to touches, i.e., sensitive to haptic and/or tactile contact with a user, especially in the case of smartphone, tablet computer, smart watch, and some wearable devices. A touch screen may be used as a convenient tool for a user to enter an input and interact with a system. Furthermore, device 12 may also have a voice recognition component or mechanism for receiving verbal commands or audio inputs from a user. For VR or AR devices, it is impractical to touch a real screen. In such cases, a virtual screen, verbal command, or gesture instructions may be useful for users.

A communication network which device 12 may be connected to may cover a range of entities such as the Internet or the World Wide Web, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network, an intranet, wireless, and other types of networks. Device 12 may be connected to a network by various wired, wireless, optical, infrared, ultrasonic or other communication methods. Via a network, device 12 may communicate with a remote facility or service center, send data, receive data, or engage interactive acts.

Device 12 may include a sensor 10 which may be a camera, such as a rear-facing camera of a smartphone. The camera may be arranged to take pictures as well as scan QR codes, one-dimensional barcodes, and other machine-readable codes with the help of a certain application.

Device 12 may also include a sensor 18 which is a near-field communication (NFC) device. NFC is of short-range wireless communication technology and may be employed to read radio-frequency identification (RFID). RFID is a wireless technology for the purpose of transferring identification data passively or actively. A RFID tag may be made very small in size, e.g., smaller or much smaller than one millimeter. It may be placed, for instance, at a designated convenient place at a store, or embedded in a product, e.g., in a magazine. Assuming that a store RFID tag contains info about the store. If the store RFID tag is read or accessed by a user's device, it means that the user is at the store and a store marker may take effect immediately. If a RFID tag embedded in magazine is accessed, it may mean a magazine marker is taken and the marker may remain active for a given period of time.

Device 12 may also include a sensor 34 which tracks the eye movement or gazing direction of a user using mature eye-tracking or gaze detection technologies. The sensor may be arranged on the top surface of the device, or close to a display screen, and may be designed to have imaging capability. With imaging functions, a system may recognize whether an eye is in such a state that the eye sight falls on the body of device 12 using certain algorithm. In other words, sensor 34 may be employed to determine whether a user is looking at the body or the screen of a device. Once it senses that a user is gazing or looking at a given target, it may record the starting time, and then the total gazing or watching time. Only when the gazing or watching time exceeds certain value, for instance a few seconds, it may be determined that a user is gazing or looking at a target. As a consequence, a very brief look may be too short to qualify as a gazing or watching act. In following descriptions, it is assumed the total gazing time of each case satisfies a minimum value requirement when it is said a gazing act is detected.

Like sensor 10, sensor 34 may be built using mature imaging technologies, such as camera technologies which are used in almost every smartphone. An image of a user's eye may be analyzed with mature algorithm to decide which direction the user is looking at. Both visible and infrared light may be employed for eye tracking. In the latter case, an infrared light source may be arranged to provide a probing beam. In addition, sensor 34 may also employ other suitable technologies which are capable and affordable other than the eye-analysis scheme described to determine a gazing or watching direction of a user. In some applications, when the accuracy of gazing direction is not critical, such as when a gaze target is a screen, not a small area of the screen, a watching direction may be obtained via analyzing facial pictures of a user.

Furthermore, device 12 may carry a positioning sensor 20. Sensor 20 may be a global positioning system (GPS), which enables a device to get its own location info. Device position may also be obtained using wireless triangulation methods, or via a system using other suitable technologies, which may be arranged by a service provider or service facility. Usually for indoor or some urban environment, positioning methods other than GPS are used, since GPS requires a clear view of the sky or clear line of sight for four GPS satellites.

Inside device 12, output signals of sensors may be transmitted to processor 14, which, employed with certain algorithm, may process the data and send messages to specific applications responsible for working with the sensors. The applications may process the messages and proceed accordingly, such as transferring certain information to service center, waiting for instructions or tasks from the center, and then implementing instructions or carrying out a task.

FIG. 2 is a schematic flow diagram showing one embodiment of representing a task by a marker and a code. Usually a task is a task, and doing a task means executing a program or application which is designed for implementing it. Take smartphone for example. A user may go to a particular page, find a corresponding app, and launch the app. If the app is a browser, a user may enter a website address, and then tap an enter button. The whole process may be boring and

frustrating. FIG. 2 introduces an embodiment which uses a marker and a code to represent a task for public use. With such an arrangement, a task may be accessed and performed easily and conveniently. For instance, a marker may be obtained automatically. A user may only need to enter a simple code. A task may be performed after a code and marker are received. To represent various tasks, each marker is designed unique. When a unique marker is bundled with a code, even a simple code, the combination becomes unique as well. Thus, a simple code plus a marker may represent a task exclusively. A marker may be selected such that it may be acquired automatically via a user device such as a smartphone or a service provider. A code may be simple and easy to remember. A code may be of a number, a letter, a sign, a character, a word, an icon, or any combination thereof. It's obvious that a very simple code has a single-digit number, single letter, or single sign. A marker may be anything which represents a distinctive feature related to a target object or task. A marker may be shared by a number of objects or tasks. Examples of marker may include a location of device, a time period, an object, an entity, an image shown on a VR or AR device, or a combination of different features like location plus time, or entity plus time. Location and time data may be collected automatically by a user device, a service provider, or an on-site sensing facility. Object and entity data may be obtained via an RFID or code-scanning method. RFID info may be gathered by placing a reader device close to an RFID tag, with minimum effort. Since QR codes and bar codes require specific manual work, they are useful but may not be convenient for some users.

Back to FIG. 2. At step 100, a task which needs representation is defined. Next at step 102, a distinctive marker is determined. The marker may fit the application of the task and may be conveniently acquired when needed. At step 104, a code is selected or determined. A code may nominally stand for a task of interest. A code may be short, simple, and unique, though the uniqueness only applies to codes under one marker. At step 106, the marker and code are combined. The combination may be assigned to represent the task at step 108. For instance, a store location is unique and may be used as a marker. If three digits are used for code, there are one thousand distinctive codes and thus one thousand combinations of marker and code, where each combination is unique. If marker plus code are used to represent products at the store, one thousand products may be covered. In some embodiments, when a code is entered at a user device by a user at the store, the code is automatically bundled with the store location marker. The code and marker info may be sent to service center, which may find out which task is represented by the two elements. Then, a corresponding task may be obtained and sent to the user device. The task may be of accessing a web page and presenting information about a product which is associated with the code. When a marker is acquired automatically, a user only needs to enter a simple code, which may create an easy and convenient process. As a user needs to enter a code, the code information may be displayed publicly, while the marker info may not. Among the task, marker, and code information, only the task and code information needs to be presented publicly for public use most times.

FIG. 3 is a schematic flow diagram showing one embodiment of executing a task, or obtaining online information using a simple code. At step 110, a user opens an app to start a process at a device. Normally, logging on a website on the Internet means launching a browser and entering a URL or website address. The task may be simplified by entering an easy code like “123” or even a single-digit number like “1”. At step 112, marker info is obtained, which may be completed automatically by the device via the app or a service provider via a program. For instance, if the device contains GPS, location data may be collected automatically. Location data and time data may work as the marker info. At step 114, the user may find a code and enters it at the device. The code and task info may be on display to let users know the nature of a task and how to do it. Since location and time data is not handled by user, there is no need to display it. For instance, a sentence like “Please tap 123 to log on our website” may be displayed. Here “log on our website” is the task, and “123” is the code. At step 116, the marker and code info may be sent to service center to locate a predetermined task. Next at step 118, the center may use the marker and code to find a task at a database. The task may include instructions which contain information to log on the website. Then the center may transmit the task to the device at step 120, and the device may start the task at step 122. Finally at step 124, the task is performed, and the device may log on the web site. After certain data is downloaded, the device may display a web page with information which the user is looking for.

The scheme illustrated in FIG. 3 provides an easy, quick, and convenient way to execute a task, as a user only needs to key in a simple code. Tasks may be prearranged to cover a wide range of assignment, including, for example, placing a phone call, starting a specific program or app, communicating with another device, sending a command to another device, etc. Thus, with a simple code such as “123” and automatically obtained marker info, various tasks may be pursued and accomplished. In descriptions below, more embodiments will be presented.

FIG. 4 shows a table illustrating three types of simple code exemplarily, including one-digit, two-digit, and three-digit numbers. One-digit code is of the simplest type. A single-digit code may be used in multiple places simultaneously, and may still be unique when combined with a distinctive marker at each place. As a code may also include a letter, a character, an icon, or a sign, any single item of them may be used as code too. A code with three digits or less may be especially desirable for television and radio commercials due to the ease of handling, and its advantage is obvious compared to a ten-digit phone number. When a code contains a letter, a character, an icon, or a sign, a touch screen may display them respectively. When voice recognition is available, a code may be submitted verbally by a user. For instance, after a specific app such as a code app is on, a user may utter a code to a device to submit it.

FIG. 5 shows a schematic flow diagram of accessing online information with emphasis on markers and methods to get markers. A distinctive marker, combined with a simple code, may be used to represent a task exclusively. For instance, two tasks may be represented respectively by two markers with the same code, or two codes under the same marker. As there is a limited quantity of simple and easy-to-remember codes, arranging unique markers is important. Furthermore, marker information is better obtained automatically so that a user may only need to enter a simple code, which may make the process of performing a task easy and convenient. When a marker is not acquired automatically, verbal input may be used as a convenient alternative, as saying is much easier than keying in. If marker info is automatically taken, only task and code info needs to be displayed publicly. A user may read the info to learn the task and get the code.

One choice of marker is location. Location data is unique by itself, and location info may be obtained automatically by GPS or other methods. A location may be a business periphery, a place of an organization, an event site, a user's home, a public venue, etc. A location marker may also be arranged to cover a region, such as a town, a city, a state, or a country.

Another choice of marker is time. Time is also unique and thus may be used to define an applicable range. Time data is also easy to get, as most devices have an internal electronic clock. A time-dependent marker may contain a start and ending point to specify a time period. When location and time info are combined, they may form another kind of marker defined by a place and a time period together. For instance, at a store, a code may represent one product at one time, and the same code may represent another product at another time. Here the marker has both location and time factors.

In addition, a RFID tag may be designed to contain marker info which may be associated to all kinds of objects or entities, such as a product, an organization, or anything. A device may get RFID data via an NFC sensor and take marker info from it. After that, when a code is entered by a user within a given time period, the code and marker info may be combined automatically. The bundled info may be transmitted to service center. The center may locate a task based on marker and code data and proceed as instructed by the task.

For VR and AR devices, images and programs are presented to users individually. Each image or program may be used as a marker. For instance, assuming a VR device is connected to the Internet. The device shows an image that contains an object with a code displayed. In some embodiments, when a user submits the code at the VR or AR device within certain time after presentation of the image, the code and the image marker may be sent to service center. Then a task may be retrieved and transmitted to the device. Following instructions of the task, the device may, for example, log on a web page which may contain info on the object. It is noticed that VR and AR devices may use afore-mentioned markers such as location marker and time marker or markers designed for and used by other devices as well.

Returning to FIG. 5. First, a user starts an app at step 126. Next at step 128, marker info is obtained. As discussed, there are several ways to gather marker info. At step 130, the RFID method is used. RFID data may be collected by an NFC sensor like senor 18 of FIG. 1. Once RFID info is obtained, its marker content is retrieved by the app. The marker may remain valid in a certain time period or until another marker is invoked. Thus, a marker obtained from the RFID method is actually valid only during a limited time period. Besides, a RFID tag may be designed to work in a predetermined time slot, so that only code entered in certain time period may be combined with the marker info to invoke a pre-arranged action. Optionally, a RFID tag may be used to label a magazine, a book, or an object which circulates with a broad and fuzzy location and time range. Codes may be provided in a magazine, book, or on an object for further information on the Internet. A user may access a RFID tag, and then enter a code to reach an online source easily and conveniently.

At step 132, time is enlisted as the marker. Time info is readily available for many devices. So any code entered by a user may be associated with a time marker. A specific time plus a code may form a distinctive label which may prompt a device to initiate a pre-scheduled program. As a time marker may cover many places, a code arranged with it shall be selected carefully so as not to point to multiple tasks at the same time. A time marker is useful for situations where time is an important indicator, while location plays a minor role. For instance, a time marker may be used in a radio advertisement. No matter where a listener is located, after an app is launched on a smartphone, a user may enter a simple code to access a specific web page, or dial a specific phone number. Thus instead of entering a complicated web address or a long phone number, a listener may just need to key in a couple of digits.

Step 134 introduces the location marker. Location info may be obtained by a GPS like senor 20 of FIG. 1. The info may also come from a service facility through a program. A location marker has a fairly clear geographical coverage. For example, a store location marker may be designed to work inside a store only. A code entered on a device may be combined with the marker to fetch product information or perform certain task arranged by the store. For instance, if a product has a code 11, keying in 11 on a smartphone may open a browser and display a webpage showing info about the product. Therefore location markers and simple codes may allow merchants to provide easy-to-get info and easy-to-do tasks for improved shopping experience.

Step 135 is designed for VR or AR devices which may show content items to users individually and exclusively. When a VR or AR device presents an image or video clip, the presentation itself may be used as a marker. For instance, when an image is displayed, a code may be assigned to an object in the image and presented. After a user sees and then enters the code, the device may send it along with an image ID to service center. Thus a task may be retrieved and sent back to the device. The device may also be arranged to transmit code and time data to service center. The center may find image info based on the time from a service provider, and then retrieve certain prearranged task accordingly.

In some cases, a code may be designated to point to an object for a long time. But a code used in some other cases may represent a thing for a short time period. For instance, a code for an ad printed on newspaper may be arranged valid for a few days or a week only, as a copy of newspaper may be forgotten after a day or two. Thus for certain applications, a marker may have two limiting factors: Location and time, which is reflected at step 136. First, the app acquires location and time data as marker info. Once a user enters a code, the marker and code may be combined together to point to a task which matches the three conditions. A location & time marker is also useful for airport, school, and convention site, where things change over time frequently. Changing with time makes the main difference between a location marker and location & time marker. In the former case, there may be no need to check time, while in the latter situation, both location and time data are required to seek a matching action item.

Step 137 illustrates another method to get marker info which utilizes verbal inputs of a user. Unlike others introduced, a marker from a verbal message is not automatically obtained, since a user has to say something. But it's still convenient, as with voice recognition technology, a user may easily and quickly utter one word or a short sentence to submit a marker and/or a code. For instance, a user may speak to a device “home” to set up a marker for home and then enter or say a code to carry out a task. A user may also say the name of a magazine. After a device receives the verbal message and identifies the magazine, a marker of magazine is obtained. Then codes entered at the device may be combined with the marker within a given period of time. Assume that simple codes are provided for online info on the magazine. A user may access the online info easily and conveniently by keying in or speaking a simple code. Verbal input may be applied to all devices equipped with voice recognition technologies, including VR and AR gadgets. Like markers prepared for RFID methods, markers arranged for verbal methods may include a wide range of objects and entities, such as location, product, organization, community, event, activity, or anything which is suitable for a marker role.

An app on a device may be designed to work with various markers. For instance, after it is turned on, an app may start gathering info. First, it may record the time. Then, location data may be obtained through a GPS sensor or from a service facility. For example, if a user is at an indoor mall, where GPS method is no longer used, he or she may rely on a Wi-Fi-based positioning system (WPS) provided by the facility to get location info. Next the app may await input of a code from the user. If a code is received, the app may send to service center the time, location, and code info. Then the center may start searching for a pre-determined task which matches the marker and code data at a database. Alternatively, the center may check whether there is a location marker for the location, a time marker, or a location & time marker, and then use a code to find a task.

While an app is awaiting user inputs, an NFC sensor may be turned on. If a RFID tag is detected and a marker obtained, the marker may have higher priority in case a location marker with the same code produces a different result.

At step 138, the user may find a code and enter it at the device. Next at step 140, the device may, for example, log on a website of service center. Data is sent to the center. The data contains the marker and code info, which causes the center to find a task accordingly. For instance, there may be a database storing information related to tasks, markers, and codes registered at the center. For every pair of marker and code, there exists an action item. A server at the center may retrieve one action item and proceed by taking instructions attached to the item. The instructions may include certain actions executable by the center, like sending a task to the device, or sending a message to another device which is away from the user and causing it to perform a task. At step 142, the device may act according to information received from the center. For instance, the information may cause the device to fetch information from a website, and then display it on a screen.

Since marker info may be taken through several methods or from several sources, it may be designed that a method used or a source used is sent to service center as well. For instance, location info may be obtained through GPS method, RFID method, or verbal input, which corresponds to the marker origin, i.e., GPS, RFID tag, or user respectively. So it may be desirable to know how often a method is used to get location data. Sometimes, a device may obtain its location marker automatically and send the info to service center. After a while, a user may speak to the device to submit a different location. In such a case, the device may send new location info and method used to service center. The center may overwrite marker info obtained from a measurement and update it with user-provided info if the center determines the info is from a user. Thus it may be designed that marker info, which is sent from a device or facility to service center, includes content of a marker and a method used to get the content.

Similarly, as code info may come from a key-in process or voice input, a code sent to service center may be attached with a note identifying which method is used. Such info may be useful, as it is related to a user's habit and tendency.

FIG. 6 uses graphic diagrams to show another embodiment of getting online information via a simple code in an easy and convenient way. Assuming a smartphone 24 is used in a retail, convention, or amusement park setting. It starts with step 1 when a user finds an object A and wants to know more information about it. The user notices that object A has a simple code 123 as displayed on a poster 22. The code is arranged for getting more information. At step 2, the user may start an app on phone 24. Assuming the positioning function of phone 24 is enabled. The app may retrieve time and location info automatically. As the user is on a periphery of a business, a distinctive location marker may be identified. Next at step 3, the user may enter code “123” at the phone. The app may cause phone 24 to send the marker, time, and code data to service center. After searching a database, the center may retrieve a corresponding action item and then send a message to phone 24. The message may instruct the app to open a web browser and visit a specific website which contains detailed information about object A. Then at step 4, the app may make the phone download data from the website and display a webpage which provides certain content related to object A.

FIG. 7 depicts a schematic flow diagram of a dialing experience. Assuming a user is at home watching a shopping channel on television on Saturday and begins purchasing process by launching an app on a smartphone at step 144. Assuming the user is interested in a product presented on TV at 10:00 am. The TV screen shows a ten-digit phone number for contact, a single-digit contact code “1”, and a message “To place an order, please call us or press “1”.” The task is to place an order and the code is a single-digit number “1”. A user may dial the phone number to start it. But with the app, a user may only need to enter code “1” on the phone, as shown at step 146. After that, the app may transmit the code and time info to service center along with location info. The location info may be collected automatically or retrieved from a service provider. Next, the center may find a matching task. The task requests the center to send pre-arranged instructions to the phone. The instructions contain the phone number and a dialing request. After the app receives the instructions, it passes the message to a processing system. Next the phone starts dialing the phone number at step 148. Then the user may place a purchase order over the phone. Now the time is 10:30 am at step 150, and the user may become interested in another product shown on TV. The user notices that the code is still “1”. Thus the user taps “1” and once again the phone is ready to start a dialing process. At step 152, the phone receives and calls a second phone number. It is seen that the code remains the same, but the task changes. This is because the time marker lets the code point to another action item based on the time data. Next the user may talk to a sales representative and complete a purchase transaction.

At 11:00 am, the shopping channel may present more products and the user may become interested in purchasing again. Assuming the code for a new product is still “1”. Thus the user keys in “1” one more time at step 154. Like previous cases, after service center receives the code plus time and location info, it obtains a corresponding action item. Then the center sends a message to the phone and causes the phone to dial a third phone number at step 156. Once the call goes through, the user may start another shopping round.

The next day, the user may go to a warehouse to pick up products ordered over the phone. The place may have a location marker. The user discovers that he or she may tap code “1” to talk to a customer representative. Then code “1” is entered at the phone at step 158, and subsequently the phone dials a fourth number automatically at step 160.

The embodiments illustrated above indicate that a code under a time and location marker may be used multiple times and each time it may be arranged to invoke a different action.

As wearable devices, such as smart watches, smart bands, smart rings, and other small or tiny gadgets, may have a small screen or no screen, input and output using a touch screen may become awkward or unavailable. In such scenarios, the verbal method may become an important input tool. A user may give verbal or audible instructions, and a device may generate audio output with or without presenting content items on a screen. Instructions may be of a simple code, a short name, or a short sentence, which may be easy and quick to say. FIG. 8 shows graphic diagrams of an embodiment using verbal inputs and audio output. Assuming a user is watching a commercial in which a shop named “Cap Store” promotes its newest products. The user sees a contact code “777” shown on a television screen. At step 1, the user says “Start code app” to a wearable device 26 to launch a code program, assuming the device has voice recognition capability. Alternatively, the program may also be opened by shaking device 26 a bit and then speaking to it, or tapping the device a couple of times and then speaking to it. The shaking or tapping act may be designed to alert device 26 and make it start a voice recognition process. Next at step 2, the user gives instructions by saying the code “777”. Device 26 receives the voice message and converts it into a number by certain voice recognition algorithm. Then the code and marker info is transmitted to service center. The marker info includes location and time data which may be acquired already. Next service center finds a specific task in a look-up table stored in a database. The task is passed to device 26. Then at step 3, device 26 performs the task and produces an audio output, such as “Cap Store, say 1 to call, say 2 for audio info”. The first sentence identifies the business name, Cap Store, to assure the user. The second sentence indicates saying “1” may make the device call the store. The last sentence indicates saying “2” may bring an audio presentation about the store, which may include introduction, promotions, and more options. At step 4, the user says “1”. Then the device calls Cap Store at step 5.

Audio interaction between a user and a device has the merit of doing a task without using fingers, and thus without the hassle of key-in actions. Simple codes make the process easy and convenient, since the content of an input is simplified. A task may be arranged to have a voice version to suit the needs of audio processes. A voice version may also be designed to generate less or none visual presentation. For instance, a user may register two versions for a task. A normal version works for smartphone and tablet computer, while a voice version for smartphone, tablet computer, and devices with a much smaller size. When a device sends code and marker info to service center, a reference note may be included. The reference note is generated by the device automatically and may let service center know it prefers an audio process. For devices with very small screen or no screen, the reference note may always accompany the marker and code info. For other devices, two options may be presented to a user and the user may decide whether or not to send a reference note. After receiving a reference note, service center retrieves a voice version of a task from a database and sends it to a device.

If a name is assigned to a device, a user may use it in a verbal command or verbal input to implement a task conveniently. For instance, a voice input may contain a device name and a task. The name indicates which device shall take the order. If a device doesn't detect its name in a voice input, it means the command isn't for it and the device may discard the input. Word “task”, as used herein, may include one or more words or items which describe what should be done. Examples of tasks in a verbal input include “Turn on air conditioning”, “Start”, “Go to channel 11”, etc. As used herein, a device may include any electronic apparatus or gadgets which have a voice recognition mechanism, such as a smartphone, a smart watch, a smart speaker, and the like. Usually, the device is connected to the Internet. The device may also be connected to other devices and thus may communicate with them as well. The other devices, which include a wide range of devices and appliances, may or may not have voice recognition mechanisms. Assume a smart speaker is named ABW. A user may utter “ABW, what's the weather forecast?” Then the speaker may start a search on the Internet, fetch weather info, and generate an audio response to report the weather situation. A user may also say “ABW, turn on the lights.” Here, the lights are of other devices. The speaker may do the task or send instructions to a control system which would do it by following the instructions.

Alternatively, a name of a program may also be used for recognition when a device runs the program (e.g., a voice recognition application). In some embodiments, the name of a program may be utilized exclusively. Optionally, names of a device and a program may be utilized for recognition simultaneously. In the former scenario, a user may utter a task and the name of the program, instead of the name of the device, to submit a verbal command. The process of verbal command reception and task implementation may be similar to that described above (e.g., when a task and a device name are used). In the latter scenario, a user may either utter a task and the name of the device or utter a task and the name of the program to submit a verbal command. Further, names of multiple programs may be used for recognition when a device runs the programs. In such a case, a user may use any of the program names in a voice input to do a task.

When a task is represented by a simple code and a marker, a user may use the code to avoid saying a long sentence or memorizing an unfamiliar task description Some tasks are easy to utter, like “Turn on the television”. Some are not. For instance, instead of uttering “Go to website of XYZ Company and find PQ3 game console version 4.7b” or “Switch to the channel I watched last Tuesday and paid with XYZ credit card”, a user may just say “Code 122” or “Code M1”. For example, a user may say “ABW, do code 122” or “ABW, code M1.” In both cases, the voice input contains a device name ABW, a keyword “code”, and a code. Optionally, ABW may also indicate a predetermined program name and the program is run at a device. The keyword indicates a task to carry out a code program and prompts the device to find a code in the input. After getting a code, the device sends it to service center and proceeds as aforementioned.

Hence when a device receives a voice input from a user, it may detect whether it contains its name first. If its name is detected, it ascertains whether the input includes a task. If a task is detected, the device starts executing the task. If a task is not found, it ascertains whether the input contains one or more keywords which indicate a code program and whether it contains a code. If one or more predefined keywords and a code are detected, the device starts a process to retrieve a task from service center using the code and marker info, assuming that the marker info is obtained automatically. Then the device implements the task after receiving instructions from the center. The instructions contain commands and certain content about the task. The task is retrieved using the code and marker info and thus is determined by the code, the marker info, and prearrangements at the center. Alternatively, after a device detects a voice input, it may ascertain whether the input contains its name and a task simultaneously and then search for one or more keywords and a code if a task is not obtained. In addition, the device may ascertain whether the input contains its name, a task, one or more key words, and a code at the same time after getting an input. If a task is found, the task is executed. If the device doesn't get a task but recognizes a code or one or more keywords and a code, it sends the code and marker info to service center and proceeds after getting instructions from the center.

As described above, a name of a program may be used for recognition when a device runs the program (e.g., a voice recognition application). In some embodiments, the name of a program may be utilized for recognition exclusively. Optionally, names of a device and a program may be utilized for recognition simultaneously. In the former scenario, a user may utter a code and the name of the program to submit a verbal command. The process of verbal command reception and task implementation may be similar to that described above (e.g., when a code and a device name are used). In the latter scenario, a user may either utter a code and the name of the device or utter a code and the name of the program to submit a verbal command. Further, names of multiple programs may be used for recognition when a device runs the programs. In such a case, a user may use any of the program names in a voice input to do a task.

FIG. 9-A is a graphic diagram which shows an embodiment involving a voice input and a simple code. There are two devices 30 and 32. Device 30, with a name ABW, may be a smart speaker or another kind of smart device which takes verbal commands and implements tasks. The tasks may be predefined or may be performed according to proper instructions. Device 32 may be, for example, a television or a home appliance which is connected to and controlled by device 30. After a user 28 utters “ABW, code 123”, device 30 detects the input and obtains its name through speech recognition. Then device 30 gets a keyword “code” and a number 123 from the input. The keyword means a code program and the number 123 matches a code of the code program or matches features of a code format. Next, device 30 transmits the code and location and time info to service center, where the location and time info represents a marker. The center retrieves a task using the code and marker from a database and communicates the task to device 30 in a message. Assuming that the task is to turn on device 32. After receiving the message and getting the task, device 30 turns on device 32 or sends a signal to a control system which turns on device 32.

In applications involving verbal inputs, a code may be selected such that it is easy for a user to say besides being short and relatively easy to remember. Preferred codes may have formats such as a numerical number with one or a few digits, one or two words, a short string of letters, or a short string of numerical number and letter. Examples of codes may include “22”, “Deals”, “Best deal”, “ky”, “1a1b”, “123123”, etc. In general, it may be arranged that a code only contains less than five words or a short string of less than seven elements for voice command applications. The elements are of one-digit numerical numbers or letters. A device may have a look-up table listing the effective codes and update the table once receiving new information from service center. When part of a voice input matches a code on a look-up table, the device sends it plus marker info to service center. When part of a voice input matches a code format, such as a number, one or a few words, or a string of number and/or letter, the device sends it to service center along with marker info. When a voice input contains a task that is not doable, the task may be a multiple-word code. The device may send it to service center and wait for responses. For instance, a multiple-word code may be of “Call toys right now”, “Call toys now”, or “Call toys”. The code may correspond to a task asking a device to call a phone number which is advertised on a toy channel on television.

In addition, a user may also just speak out a device name and a code without mentioning a keyword which indicates a code program. FIG. 9-B shows a graphic diagram which describes such a situation. The setting still comprises user 28 and devices 30 and 32. Assume that user 28 utters “ABW, 123.” After device 30 gets the verbal input, it ascertains the content of the verbal input by looking for its name, a task, one or more keywords, and a code. Next, it recognizes the name and

a number. The number is not a task. The device may check a look-up table to ascertain whether the number is a preset code. If it is a preset code, device 30 sends it to service center along with predefined marker info, e.g., the location and time info. If the number is not on the look-up table, device 30 may still send it to the center along with the marker info, since a number matches a code format. As described above, a code may also be a word, a string of letters, or a string of numbers and letters which matches a code format and is not part of a sentence. Hence, a voice input may only contain a device name and a code or the content of a code. After receiving a response from service center, device 30 proceeds with instructions to implement a task. The task may be performed at device 30 or at device 32. As described above, when a device may run a program (e.g., a voice recognition application), a name of the program may be used to replace the name of the device for recognition purpose. For example, when device 30 runs a program with a name ABW, the program may receive a voice input, recognize the content of the voice input, communicate with service center, and execute a task after the task is obtained from the voice input with methods similar to those illustrated above.

Besides a device name, a gaze act may also be used to indicate or specify a device. FIG. 10 illustrates an embodiment with a graphic diagram. The scenario again includes user 28 and devices 30 and 32. Device 30 has a gaze-sensing mechanism to ascertain whether a user gazes or looks at it. Assuming user 28 utters “123” and then gazes or looks at device 30. After analyzing the voice input, device 30 finds it doesn't contain its name, a task, and one or more keywords. Because it is detected that user 28 gazes or looks at a direction toward device 30, device 30 determines it should take the order. A gaze act plus a verbal input “123” has the same effect as the verbal input “ABW, 123”. “123” is an example and may be replaced by a code of other formats. Then device 30 sends the code and marker info to service center and implements a task accordingly after receiving instructions from the center. The task may be performed at device 30 or device 32 depending on the instructions. In addition to a code, a voice input may also just contain a task. For instance, user 28 may say “Get weather forecast” and gaze or look at device 30. Device 30 recognizes the task but doesn't get its name. Assuming a gaze-sensing system is in operation and it is detected that user 28 looks at a direction toward device 30. Then, device 30 starts to execute the task after the gaze direction (i.e., a gaze direction toward device 30) is determined. Thus, with a gazing act, a voice input may only contain a code (e.g., “Code 123”), a name of a task, the content of a code (e.g., “123”), or the content of a task.

Alternatively, more imaging sensors (not shown) may be arranged in FIG. 10 such that device 30 may detect where user 28 looks at or gazes at in areas around user 28. For example, device 30 may monitor user 28 continuously. If it is detected that user 28 looks at device 32 and utters a task without it saying a predetermined name (e.g., a device name), device 30 may take the order and execute the task via device 32. If it is detected that user 28 looks at device 32 and utters a code without it saying a predetermined name, a task name, and certain content of a task, device 30 may retrieve a corresponding task from, for example, a prearranged look-up table at its system, or send the code to service center and get a task from there if the look-up table does not contain the task. Device 30 executes the task at device 32 after the task is obtained.

Hence, a user may look at a device among multiple devices and utter a voice command. The voice command may only contain a code (e.g., “Code 123”), a name of a task, the content of a code (e.g., “123”), or certain content of a task. A control system (e.g., a smart speaker) may detect and interpret the voice command, detect the gaze or watching direction, and implement a corresponding task at the device that the user looks at.

When a gaze sensor is involved, the sensor may be powered on all the time or powered on only under certain conditions. For instance, a gaze sensor may be turned on after a voice input is received. Without a voice input, the gaze sensor remains in standby state, which may be desirable for users who have privacy concerns. When a gazing act is detected, the gazing act may happen before, during, and/or after a voice input is received. Options may be provided for a user to choose when a gaze sensor is on and when a gazing act is used as an indication factor.

FIGS. 11 and 12 describe embodiments which involve verbal inputs and gestures. As discussed, a user may issue a command to a device by uttering its name and a code or uttering a code plus a gazing act. The gazing act may be replaced by gestures. In FIGS. 11 and 12, a hand gesture is used to point at a device. The setting once again includes user 28 and devices 30 and 32. User 28 utters “123” and points at device 30 or 32. Device 30 may comprises a gesture sensor to detect gestures, such as hand and finger gestures performed by the user. The gesture sensor may employ a specific camera or video camera plus certain algorithm to ascertain gestures. A gaze detector may also be used for gesture sensing. As the voice input only has the three-digit number, device 30 doesn't find its name ABW or a name of a predetermined program. Device 30 further ascertains whether the user gazes and/or gestures at it. As shown in FIG. 11, it is detected that the user points at device 30, indicating that device 30 may take the job, get a task from service center, and execute the task. Since number 123 fits a code format, device 30 sends it to service center along with the marker info. The center obtains a matching task and transmits it to device 30. Then device 30 implements the task at device 30, device 32, or another device according to instructions of the task.

When it is detected that the user points at device 32 using a hand, as shown in FIG. 12, a corresponding task should involve device 32. Again, as number 123 fits a code format, device 30 sends it to service center plus the marker info. The center obtains a matching task through the code and marker info and transmits the task information to device 30. Then device 30 sends a signal to device 32 and causes implementation of the task at device 32. Similarly, user 28 may utter “Turn off” and gesture at device 32, which contain the content of a task and a target device for the task. Device 30 may detect the voice command and gesture. Next, device 30 may take the order and do a task via device 32, i.e., shutting down device 32. Thus, with a gazing or gesturing act, a task may be performed using a voice input that only contains a code (e.g., “Code 123”), a name of a task, the content of a code (e.g., “123”), or certain content of a task.

Like gaze detection, when gestures are sensed before, during, and/or after a time period in which a voice input is received, the gestures may qualify as a user command or part of a user command. Options may be provided so that a user may select conditions for gazing and gesturing. For instance, a user may opt for gazing or gesturing detection only after a verbal input is uttered. Then, only gazing or gesturing actions which happen after a user's utterance are counted as a command. Consequently, a corresponding device may be configured such that a gaze and/or gesture sensing process is arranged to start only after a verbal input is detected.

In summary, voice commands may have three modes: (1) A voice input; (2) A voice input plus a gazing act; (3) A voice input plus gestures. The first mode corresponds to voice inputs which include a predetermined name (e.g., a device name or a program name) plus a task, a predetermined name plus a keyword and a code, or a predetermined name plus a code. The second and third modes correspond to voice inputs which don't contain a predetermined name but include a task, a keyword and a code, or a code. When a predetermined name is not included in a voice input, a user may use a gaze act and/or gestures to indicate or specify a device. The keyword is used to state a code program and thus a code in a voice input. One or more keywords may be used to indicate a code program. For instance, the one or more keywords may include “code”, “code program”, “code name”, etc. A code may also be recognized by its format, such as aforementioned numbers, words, or strings of numbers and/or letters without the keyword. When a user gazes and points at a device at the same time, it has the same effect as the user gazes or points at the device separately.

Optionally, multiple options may be provided so that a user has the freedom to issue a voice command based his or her preference on a mode. Consequently, a device may be configured to accept different modes of voice commands using multiple detection methods. The methods include voice recognition, gaze sensing, and gesture sensing. For instance, after a voice input is received, a device ascertains whether the input contains a predetermined name. If the predetermined name is detected, it ascertains whether the input contains a task, a keyword, and/or a code. Alternatively, the predetermined name, task, keyword, and code may be ascertained simultaneously. In addition, if a predetermined name is not detected but a task or a code (or a code format) is recognized, a gaze direction or a gesture of a user may be ascertained to determine a target device. Then the target device may be arranged to perform the task or may send the code to service center and proceed according to instructions received from the center. Further, when the target device has information about a code and a corresponding task, after detecting the code, the target device may perform the task directly without communicating the code to and receive instructions from service center.

The methods to do a task as illustrated above employ simple and easy schemes. The codes are convenient to use. The verbal commands, gaze act, and

gestures are intuitive and straightforward. The methods may be especially useful for a user in an autonomous vehicle (also known as a driverless or self-driving vehicle), a self-service store (e.g., a store without cashiers), or a smart home, where the user-machine interaction plays an active role.

FIGS. 13-A, 13-B, and 13-C show exemplary labels 36, 37, and 39, respectively, according to the present invention. Label 36 displays a product name “Object B” and a code that may contain, e.g., 1234. Object B may be a product or any item. The code 1234 may be considered as a simple code, and designed for a user to do a task related to object B, such as retrieving information about object B. Similar to that illustrated above, code 1234 represents a code that only contains less than five words or a string of less than seven elements, and the less than seven elements may be one or more one-digit numerical numbers and/or one or more letters in certain cases.

Optionally, object B may have labels 37 and 39 that contain code 1234 and a barcode 38 or QR code 40, as illustrated in FIGS. 13-B and 13-C. In these cases, two different codes are shown together within a close distance on a label. Code 1234 may be adjacent to the barcode or QR code. Code 1234 may be above or underneath the barcode or QR code, or with the barcode or QR code in a side-by-side manner. As such, two options are provided with respect to object B. A user may scan the barcode or QR code to get info about object B. A user may also use code 1234 to obtain the info. When code 1234 is used, no scanning act is needed. In addition, compared with the barcode, more information may be assigned to code 1234, as code 1234 is designed to retrieve information from a source (e.g., service center). Compared with the QR code, code 1234 has a much simpler form and format.

FIGS. 14-A, 14-B, 14-C, and 14-D are exemplary diagrams illustrating embodiments of receiving a code and presenting possible objects according to the present invention. Provided a user launches an app at a user device. The user device is an electronic device, e.g., a smartphone, a tablet computer, a smart watch, an AR or VR device. Content of the app is displayed on a touch-sensitive screen 48 of the user device. Provided one of the functions of the app is online search and the voice input function is enabled (i.e., a voice recognition program is on). A title “Online Search” is shown on the screen. The user enters a number “5678” in a space 42 by key-in or voice input. After the app obtains that the number “5678” is received from the user, buttons 44 and 46 are presented in a place adjacent to space 42, as shown in FIG. 14-A. The word “button” as used herein indicates an interactive graphic object configured on screen 48. The button may be activated by a user act such as a tap or a verbal command.

Buttons 44 and 46, with exemplary labels “Search” and “Code”, are arranged for a user to perform a search online and use a code for doing a task, respectively. In addition, a button 50 is arranged on screen 48 for scanning a barcode or QR code. After button 50 is activated, the app starts a scanning process to detect a barcode or QR code, providing another option to get info or doing a task. If button 44 is activated, button 44 remains visible on the screen and the app will do a search based on the query, i.e., “5678”, while button 46 will be removed from the screen. Assuming the user activates button 46. Consequently, as shown in FIG. 14-B, button 44 is removed, button 46 appears beside space 42, and the title is changed to “Code Program”, indicating a process to use a code to do a task is in progress.

When the app obtains that button 46 is activated by the user, the app analyzes the input in space 42 to ascertain whether the input contains any code and marker information. As the input “5678” has a code format, the app considers it as a code. However, there is no marker info besides the current time and a name of a region (e.g., a city or country) where the user is currently in. Assuming there are multiple objects that each have code 5678. When there is not enough space to display these objects on the screen 48, the app may determine one or more possible objects based on factors to be illustrated in the following descriptions.

Assuming the app selects a popular object “weather forecast” that has the same code 5678, and presents a button 52 with a label “Weather Forecast” to represent the object on screen 48. In addition, as shown in FIG. 14-B, the app may also present on the screen buttons 54, 56, and 58, corresponding to categories movie, smart phone, and restaurant, respectively. The terms “category” and “category item” as used herein have the same meaning and indicate a group that have objects with the same or similar features, properties, and/or functions. Examples of categories include fruit, clothes, gadget, book, music, movie, museum, school, car, travel agency, sports, etc. An exemplary fruit category may include objects like orange, apple, pear, banana, cherry, etc. Buttons 54-58 indicate possible category items determined by the app and used for collecting marker info to narrow a search for possible objects. If the user activates button 52, the app may respond by considering the possible object (i.e., weather forecast) is selected by the user, starting to retrieve information of weather forecast, and presenting the info on screen 48 after receiving it. The exemplary categories movie, smart phone, and restaurant may include objects, such as titles of movies, brands of smart phones, and names of restaurants, respectively. If the user activates a possible category item among buttons 54-56, the app may determine and present one or more possible objects based on code 5678 and the selected category. That is, the app may determine and present one or more possible objects having code 5678 and belonging to the selected category. Optionally, the app may also present a “More” button 82 on screen 48 to represent a request for more information. After the app receives that button 82 is activated by the user, the app considers it as a request submission, and selects and presents additional possible objects and possible categories on the screen for the user to select.

Assuming the user does not activate any of buttons 52-58. Instead, the user submits a word “pineapple” via key-in or verbal input, as shown in FIG. 14-C. The app may consider the word pineapple as marker info, and present updated possible category items such as buttons 60, 62, and 64 on screen 48. The exemplary category items may indicate places where pineapples are related to (e.g., places where pineapples are grown, such as Hawaii and Mexico), and books related to pineapples. Optionally, button 82 is arranged for requesting more possible objects and categories.

If the user activates button 60 to select the category “Hawaii”, the app adds the word “Hawaii” in space 42 and uses the category word as the additional marker info. Based on code 5678 and updated marker info containing keywords pineapple and Hawaii, the app determines an object. Assuming only one object can be determined with the code and marker info. The app presents a button 66 that represents the determined object, as shown in FIG. 14-D. Button 66 may display a name of the object and the code. Thereafter, if the user activates button 66 to select the object, the app performs a task, e.g., presenting information of the object on screen 42. The app may retrieve the information of the object from service center before button 66 is activated. Alternatively, the app may also retrieve the information of the object from service center after button 66 is activated.

FIG. 15 shows a flow diagram for receiving a code, determining an object, and performing a task related to the object according to the present invention. Provided a user opens an app at a user device. The app may have a search mode for doing a search and a code mode for performing a task based on a code. At step 162, the app receives a user input from the user via key-in and/or verbal input. If the search mode is selected by the user (e.g., via button activation), the app performs step 164 to start a search process online and use the user input as the search query. If the code mode is selected (e.g., by button activation), the app starts a do-task-via-code process at step 166. At step 168, the app performs analysis to obtain a code and any marker info from the user input. In the meantime, the app collects relevant data to get other marker information.

The app may collect marker information covering aspects A1-A5 and B1. For example, aspect A1 includes the name of a region where the user is in, such as the name of a country, a state, or a city. The name of a region may be obtained from a service provider. If the positioning function of the user device is enabled, e.g., a GPS device is turned on, the location of the user may be detected more precisely, and aspect A1 may include both the region and location data. Aspect A2 includes the data of time, such as the current date and time. Aspect A3 includes popular products, trends, topics, or events that the user may be interested in. Aspect A3 may be updated periodically and recalculated after additional information of the user is received. Aspect A4 includes certain preference data based on analysis of the user. For example, aspect A4 may has a summary listing categories of objects that the user read, watched, or reviewed more than certain times within a given time period. Aspect A5 includes records of the user, such as data of past activities collected by the app. Aspect B1 includes the content that is acquired from the user input and related to marker information. The user may provide a code with no marker info initially, and then submit certain marker info when the app cannot determine the right object. The user may provide marker info via key-in and/or verbal input.

After obtaining a code from the user input and acquiring certain marker info from one or more of aspects A1-A5 and B1, in response, the app determines and presents one or more possible objects and one or more possible category items on a screen of the user device at step 170. Thereafter, the app monitors whether any of the possible objects and possible category items is selected by the user. For example, the app may monitor whether any button corresponding to one of the possible objects and possible category items is activated by the user. Provided the app obtains a code 2345 from the user input. If the app has certain marker info of aspect A1, e.g., the user is in a city or country, the app may determine one or more possible objects and/or one or more possible category items. The term “possible object” as used herein indicates an object that has the same code as that obtained from the user input. The term “possible category item” or “possible category” as used herein indicates a category that has one or more objects with the same code as that obtained from the user input. When aspect A1 contains the name of a city, for example, the app may select possible objects and possible category items that have the code and are related to the city. If aspect A1 contains location data indicating the user is at a store, the app may select or determine possible objects and possible category items that have the code and are related to the store or provided by the store. As used herein, a category (or category item) having a code means one or more objects of the category have the code. If the location data indicates the user is at a park in a forest, the app may select and present possible category items such as trees and flowers.

If the user device is an AR device, a VR device, or the like, aspect A1 may indicate a scene of a virtual environment in certain cases. For example, if a VR device displays a virtual setting, the app may select possible objects or categories that have the code and are related to the virtual setting.

If the app has certain info of aspect A2 (i.e., the time data), the app may determine one or more possible objects and/or one or more possible category items based on aspect A2. For example, certain objects and categories having code 2345 and related to Olympic sports may be selected during a period of the Olympic Games.

If the app has certain info of aspect A3 (e.g., certain popular items), the app may determine one or more possible objects and/or one or more possible category items based on aspect A3. For example, certain objects and categories having code 2345 and related to, for example, fashion trends, popular movies, or popular products may be selected by the app or service center.

If the app has certain info of aspect A4 (i.e., the preference of the user), the app may determine one or more possible objects and/or one or more possible category items based on aspect A4. For example, the app may retrieve certain info from the user device or service center that indicates the user reads articles about foods and nutrition. Then the app may select possible objects and categories having code 2345 and related to foods and/or nutrition.

If the app has certain info of aspect A5 (i.e., the records of the user), the app may determine one or more possible objects and/or one or more possible category items based on the aspect. For example, the app may retrieve certain info from the user device or service center that indicates the user reviewed some objects. Then the app may select possible objects having code 2345 and related to these objects, and select possible categories based on these objects.

If the app obtain certain info of aspect B1 (i.e., the user input), the app may determine one or more possible objects and/or one or more possible category items based on the B1 aspect. For example, after the user may key in or utter a code and a word at the user device, the app may use the word as a keyword, and select possible objects and categories having code 2345 and related to the keyword.

At step 170, the app collects and combines all marker info (e.g., aspects A1-A5 and B1), and then selects and presents possible objects and categories having code 2345 and related to the combined marker info. Data of aspects A1-A5 is obtained by the app from, for example, the user device (e.g., via the GPS), service center, and certain service providers. Data of aspect B1 is obtained from the user (e.g., the user's manual or verbal input). Optionally, the app may also select and present some possible objects and categories having code 2345 and related to part of the combined marker info. In certain cases, the app presents a button (e.g., a “More” button) on the screen for the user to request for more possible objects and categories. After the “More” button is activated, the app selects and presents additional possible objects and categories that have code 2345 and match at least part of the combined marker info.

At step 172, the app detects or obtains that a possible object is selected by the user (e.g., via tapping a button or voice input). In response, the app sends a message to service center to ask for information of the possible object if the app does not have the information. At step 180, the app performs a task related to the possible object, such as displaying certain information of the possible object at the user device after receiving the information from service center.

The app may monitor buttons representing the possible objects and possible category items continuously at the same time. At step 174, the app detects whether any of the possible category items is selected by the user (e.g., via tapping a button or voice input). If a category is selected by the user, the app displays one or more possible objects having code 2345 and coming from the selected category at step 176. If the app does not receive info that any category item is selected by the user, the app may detect whether the use submits additional user input and whether the user activates the “More” button to ask for more possible objects and categories for selection. When more user input is received or the “More” button is activated, the app repeats step 170 to present more possible objects and category items.

Back to step 176. Possible objects are presented for the user to select. At step 178, the app monitors whether any of the possible objects is selected. If the app finds an object is selected or activated, the app proceeds with step 180, and performs a task related to the selected object. If the app does not receive info that any object is selected by the user, the app may detect whether the user submits additional user input and whether the user activates the “More” button to ask for more possible objects. When new user input is received or the “More” button is activated, the app repeats step 176 to present additional possible objects.

Back to step 180, the app implements a task related to code 2345 and the object selected at step 172 or 178. The task may include displaying a webpage illustrating the selected object, starting a process to operate a machine that is defined by the code and selected object, or presenting certain content about the selected object.

FIGS. 16-A, 16-B, 16-C, and 16-D are exemplary diagrams illustrating a self-checkout process using a code and a user device according to the present invention. Assuming a user is at Easi Mart, a grocery store, and launches an app at a user device. Provided the app and user device are the same as those illustrated above with respect to FIGS. 14-A to 14-D. A title “Online Search” and other content of the app are displayed on screen 48 of the user device. Provided the voice input function is enabled and the positioning function is also enabled. As such, the app obtains or detects that the user is at Easi Mart via a positioning mechanism. Optionally, the user may also use other methods (e.g., the NFC or RFID method) as illustrated above to add the store to the marker info. Assuming the user picks up a product and wants to buy it through the user device. The user may enter the name of the product in space 42, but prefer using a code “5678” printed on a label of the product. The user may key in or utter the code at the user device. As the user is at the store (i.e., on the periphery of Easi Mart), after receiving code 5678, the app presents three buttons 44, 46, and 68 as three options for the user on screen 48, as shown in FIG. 16-A. Button 44, 46, and 68, with exemplary labels “Search”, “Code”, and “Shop”, are configured for activities such as online search, using-code-to-do-task, and shopping (or purchase), respectively. As mentioned above, button 50 is arranged for the user to scan a barcode or QR code.

After the user activates button 68, meaning a request for shopping, the app may send a message to service center to report the act of the user and start a process to facilitate shopping at Easi Mart. Optionally, the app or service center may contact a control system of Easi Mart and help the user log in the control system of Easi Mart. As the user input “5678” has the form of a code, the app takes it as a code and transmits it to Easi Mart (e.g., its control system). Assuming two products have code 5678 at Easi Mart. The app receives the names of the two products from Easi Mart and presents them on screen 48, as shown in FIG. 16-B. Buttons 70 and 72 are displayed to represent the two products on screen 48. Further, the title is replaced by “Shop at Easi Mart”, which assures the user the shopping process is in progress. Buttons 70 and 72 are presented for the user to select one of the products. When a category has multiple products with code 5678 and there is not enough space to shows them on the screen, the app may consider this category as a possible category and then present it on screen 48 for the user to select. In case there is only one product that has code 5678 at Easi Mart, the app may present one button representing the product for the user. If the user activates the button to select the product, the app may proceed with procedures as described below.

As mentioned above, the user may also activate button 50 to start a scan mode at the user device. Once the user scans a barcode or QR code of a product, the app may transmit scanning data to Easi Mart and present certain info of the product on screen 48 after receiving the info from the store.

Assuming the user wants to buy water melon and activates button 70 by tapping or verbal means. The app detects the selection of the user and sends a message to Easi Mart. The app may display “Water Melon” in space 42 in response, as shown in FIG. 16-C. The app also presents a button 76 with a label “Add to Cart”, providing a purchase option for the user. The app may also show the price on the screen after obtaining it from Easi Mart. The quantity of purchase is displayed with a default number 1 in a space 74. The user may change the quantity to another number. After reviewing the product name, price, and quantity, the user activates button 76 to add it to a virtual shopping cart. Then, another screen view appears on screen 48, as shown in FIG. 16-D. The user may enter another code in space 42, select another product, and put it in the virtual shopping cart.

Alternatively, the user may also tap button 50, scan a barcode or QR code to virtually pick a product, and then add it to the virtual shopping cart. Similar to that illustrated above with respect to FIGS. 13-B and 13-C, the simple code (e.g. code 5678) and barcode or QR code may be configured (e.g., printed) together or next to each other on a product, proving multiple options for the user. Thereafter, the user may activate a button 78 to review items in the virtual shopping cart, or activate a button 80 to start a payment process and complete the purchase. Before a payment is made, the app may perform a recognition process using a password, fingerprint, or facial recognition method to verify the identity of the user. The recognition process is omitted for simplicity.

In certain cases, Easi Mart may designate a region for self-checkout using a user's own device, which may facilitate checkout control and store management. For example, users may be required to do self-checkout with own devices only in the designated region. A positioning system installed at the store may communicate with the app and inform the app when the user walks in the designated region in the store. Optionally, the store may install NFC sensors at the designated region that may communicate to the app, and let the app know the user is in the designated region. Then, the app may proceed with a shopping process by displaying a shopping button (e.g., button 68 as shown in FIG. 16-A) when the user submits an input as described above. Optionally, the app may need a permission (or authorization) from Easi Mart for a user to start a shopping process. Easi Mart may issue the permission after detecting that the user is in the designated region. Without the permission from Easi Mart, the app does not begin any shopping activity, or does not display a button for shopping (e.g., button 68 as shown in FIG. 16-A). After getting the permission for shopping, the app may monitor whether the user submits a user input and whether the user input contains a code. If the user input contains a code, the app may display the button for shopping, and the user may activate the button to start a self-checkout process.

Besides Easi Mart, the methods illustrated above and shown in FIGS. 16-A to 16-D applies to other entities, such as business entities, schools, organizations, and governmental entities. The business entities may include stores, restaurants, services, hotels, movie theaters, etc.

CONCLUSION, RAMIFICATIONS, AND SCOPE

Thus it can be seen that systems and methods are introduced to execute a task using a simple code.

The improved method and system have the following features and advantages:

-   -   (1). A simple code may be combined with a unique marker to         represent a task;     -   (2). Distinctive marker information includes location, time,         object, entity, image, or any combination thereof;     -   (3). A user may implement a task by submitting a simple code;     -   (4). A user may implement a task by uttering a verbal command         which includes a predetermined name and a simple code;     -   (5). A user may implement a task by uttering a simple code plus         a gazing act or a gesture;     -   (6). A user may use a simple code to find an object among         possible objects;     -   (7). A user may use a simple code to find an object and do a         task related to the object; and     -   (8). A user may use a simple code and own device to perform         self-checkout at a retail store.

Although the description above contains many specificities, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments. Numerous modifications will be obvious to those skilled in the art.

RAMIFICATIONS

A simple code may be used to do many tasks. For instance, when a user wants to look at a user's manual of an appliance, the user may use a simple code to get connected to a website containing the info. For home appliances such as a refrigerator, an air conditioner, an alarm system, a code may be printed on a label, which may be seldom noticed and rarely picked up. A code for such cases may contain a unique sign to distinguish it from other code. The sign may be arranged to show up on a code app interface only when a home marker is in effect. The sign may mean the code is for appliance use.

At a bus stop, a simple code may be used to get bus schedules. Optionally at a bus stop, a simple code may be used to obtain the estimated arrival time of the next bus.

A sign may be used as a marker, a code, part of a code, or a combination of a code and a marker. For instance, certain signs may be arranged beside a virtual or soft keyboard in a code input window so that a user may tap a sign conveniently when keying in a number and/or a letter. Examples of signs may include “home” icon for home, fork and knife representing restaurant, car sign for taxi service, bus icon for bus stop, or a logo of a business. Here a sign may be considered as either marker or part of a code and it doesn't make a difference in terms of the effect, as the goal is to make a distinctive label to tag a task. When a sign is used for code, it may be of part of a code, since the other part may be a number. For instance, when a user is looking for a place around lunch time, he or she sees a simple code posted on the door of a restaurant. The user may start an app on a smartphone, tap a restaurant sign and then enter the code. Next the code, time, and the sign are sent to service center. A corresponding action item may be found and then a message may be sent to the phone. The message may contain information about the restaurant or cause the phone to log on a website of the restaurant. A sign may help pinpoint a task and may be useful when location marker is unavailable or not distinctive enough due to the issue of positioning resolution. As there may be lots of signs for various businesses or entities, it may become obtrusive if many signs appear on a display screen at the same time. So it may be arranged that a sign only shows up on screen when it is likely to be used. Appearance of signs may be controlled by a code app or service center based on marker info and potential tasks a user may be interested in, since marker info and potential tasks are connected by signs. For instance, when it is detected that a user is on a street in a downtown area, it may indicate that the user may need taxi service. Such a need may be obtained by analysis using certain algorithm. In some embodiments, calculations may be made to find out tasks which are frequently requested by users in an area. For example, tasks that were performed more times than other tasks in an area in a given time period may be selected to form a group. Signs of the select tasks may appear in a code app interface for users in the area. For example, if a select task is about hailing a vehicle, a taxi sign may show up in the code app interface. A user may tap the sign and then key in a simple code to contact a preferred taxi company. As used herein, a sign may be a logo, an icon, a letter, a word, an image, or a picture. As aforementioned, an easy-to-use code may be a one-digit, two-digit, or three-digit number. Since a sign is easy to recognize, handle, and remember, it may be arranged that a code contains a sign plus a one-digit, two-digit, or three-digit number only. For instance, when entering a code on a touch screen, a user may tap a sign first, followed by tapping at most three digits to complete a code input process.

When a user executes a task at a device, it may be considered that the user requests a task. Optionally, tasks requested by a user may be collected and summarized by certain algorithm. Signs of the most requested tasks (e.g., the top five tasks) may show up in a code app interface. The user may tap a sign to request a task, or tap a sign plus a simple code to request a task, which provides convenience for the user to do favorite tasks.

As described above, a simple code may be used to carry out a task at another device. For instance, a product at a store may have two codes, one for fetching product-related info, which is described already, and the other for placing the product in a virtual shopping cart for purchase purpose. In the latter case, service center may follow instructions of a task and send a message to a store system notifying it of the purchase request. The store system may be located at another remote place. It may take it over and add the product to a shopping cart for the user. The user then may arrange a payment method and have the store ship the product to an address. The interaction between a store system and a user device may be carried out directly, or arranged via service center. In the former case, the store system and user device are connected and may talk to each other directly. In the latter case, they are not connected directly. Info transmitted has to go through service center, which passes it to a receiving party.

Similar to examples of getting online info, a simple code may be presented or advertised to make users visit a website, such as a news portal, a search engine site, a gaming site, or a file downloading site.

A simple code may also find use in surveys. For instance, a survey question “Do you like the show?” may be presented along with two codes on screen. One code is for “Yes” and the other for “No”. So a user may just enter a code to express opinion and doesn't need to go to a specific website to cast vote. Here location and time data may be of marker info. Codes may also be used in a contest. For instance, a television screen may show that tapping “1” means voting for contestant 1, and tapping “2” means voting for contestant 2. After a user starts a code app, home marker info is obtained. Then a “V” icon may appear in the code app interface, which may be related to a message from service center. The message may be prearranged because of the contest event. Without the message, the “V” icon may not show up. The “V” icon may be part of marker or part of a code. To vote, a user may tap “V’ and then tap 1 or 2 on a virtual keyboard. Then marker and code info is sent to service center. The center finds a matching task which requests the center to forward the info to a processing facility of the event.

RFID may also be used as a store marker when positioning methods are not accurate enough or not available. For instance, a user may swipe a smartphone in front of a RFID tag at a store counter to hook up with it to get marker info from the RFID data. Then the user may tap simple codes displayed at the store to access information or perform online transactions such as reserving a product, booking services, checking promotions, and so on. The marker info may remain valid within certain period of time unless being cancelled or another marker becomes active.

In addition to a gaze sensor and gesture sensor, a device may also have a locating sensor to identify a user and detect the position of the user who has just uttered some verbal content. A locating sensor may measure and analyze sound waves to determine a source position using mature technologies. The locating sensor may also be used to collect voice inputs from a target user only, where the target user may have gazed at a device or may be gazing at the device. Locating a target user becomes critical when multiple users are on site. For instance, a device may be configured to receive and interpret a voice input, identify and locate a user who just gave the voice input using a locating sensor if the input doesn't contain a device name (or program name), measure the user's gazing direction, ascertain whether the user gazes at the device simultaneously or within a given time period after the voice input is received. If a qualified gaze act is detected, the device implements a corresponding task. The task may come from the voice input directly or be retrieved from service center using a code from the voice input.

Instead of detecting a gaze direction, the direction at which a user faces may be ascertained. In some applications, it may be difficult to sense a user's eye movement, due to technical issues or ambient lighting conditions. Thus it may be arranged to detect whether a user faces a device. For instance, a device may use an imaging sensor like a camera to take pictures or videos of a user. Certain algorithm may be used to identify facial features of the user, determine positions of the user's eyes, and then calculate a distance between a spot of the device and one eye and another distance between the spot and the other eye. The spot may be a point at the center of the device or the center of an output component. If difference of the two distances is smaller than a given value, it may be considered that the device is right in front of the user or the user faces the device. Consequently, it may be configured that in all of the above embodiments or examples, the gazing requirement may be replaced by the facing requirement when a user or entity allows doing so. For instance, a requirement of gazing at a device may become a requirement of facing a device.

Referring to FIGS. 11 and 12, both gaze sensing and gesture sensing techniques may be used to interpret a user's command. After user 28 utters “123”, device 30 receives the voice input and analyzes it to determine whether the input contains the name ABW, a task, and a code. Device 30 recognizes a number “123” but doesn't find its name and a task in the voice input. The number fits a code format and may be a code. Thus the gaze direction and gestures of user 28 are ascertained by device 30. If it is detected that user 28 gazes at device 30 and gestures at device 32 (e.g., pointing at device 32 by hand or finger), it indicates device 30 should take the order and execute a task via device 32. If the voice input contains a task, device 30 implements the task at device 32. If the input contains a code or certain content that matches a code format, device 30 sends the code or the content to service center to get a task. Then it executes the task at device 32.

A device may keep codes that a user used within a given time period in a file or use the codes to construct a look-up table for the user. The codes may be considered as the user's “personal codes”. When the device receives a verbal input, it may compare the content of the input against the “personal codes”. As a user may use some codes repeatedly, it helps a device recognize them quickly and accurately.

Lastly, besides tapping or clicking buttons to key in a code of number, letter, or sign on a device, a user may also scribble number, letter, or sign on a touch screen to do the same job. When a sign is involved, it is assumed that the sign is designed suitable for scribbling.

Therefore the scope of the invention should be determined by the appended claims and their legal equivalents, rather than by the examples given. 

1. A method performed for task implementation, comprising: 1) receiving an input from a user at a device; 2) ascertaining whether the input includes a code; 3) obtaining marker information; 4) in response to that the input includes the code, determining one or more objects based on the code and marker information, the one or more objects having the code; 5) presenting the one or more objects at the device; and 6) in response to selection from the one or more objects by the user, performing a task related to a selected object.
 2. The method according to claim 1 wherein the code only contains less than five words or a string of less than seven elements, the less than seven elements are at least one of one or more one-digit numerical numbers and one or more letters.
 3. The method according to claim 1 wherein the marker information includes at least one of a plurality of items including data of a region, data of a location, data of a virtual environment, data of time, data of a product, data of an event, data of a summary of the user, records of the user, and the user input.
 4. The method according to claim 1, further including transmitting information of the selected object and the marker information to a service facility, and receiving information of the task from the service facility.
 5. The method according to claim 1 wherein the input includes a verbal input and the method further includes performing voice recognition after receiving the verbal input.
 6. The method according to claim 1, further including determining and presenting one or more categories based on the code and marker information.
 7. The method according to claim 6, further including determining and presenting one or more additional objects based on the code and a category after the user selects the category from the one or more categories.
 8. A method performed for task implementation, comprising: 1) receiving an input from a user at a device; 2) ascertaining whether the input includes a code; 3) obtaining marker information; 4) in response to that the input includes the code, determining one or more categories based on the code and marker information; 5) presenting the one or more categories at the device, the one or more categories related to the code; and 6) in response to selection from the one or more categories by the user, presenting one or more objects at the device, the one or more objects coming from the selected category and having the code.
 9. The method according to claim 8, further including in response to selection from the one or more objects, performing a task related to a selected object.
 10. The method according to claim 8 wherein the code only contains less than five words or a string of less than seven elements, the less than seven elements are at least one of one or more one-digit numerical numbers and one or more letters.
 11. The method according to claim 8 wherein the marker information includes at least one of a plurality of items including data of a region, data of a location, data of a virtual environment, data of time, data of a product, data of an event, data of a summary of the user, records of the user, and the user input.
 12. The method according to claim 9, further including transmitting information of the selected object and the marker information to a service facility, and receiving information of the task from the service facility.
 13. The method according to claim 8, further including presenting one or more other objects based on the code and marker information upon a request from the user.
 14. The method according to claim 8, further including presenting one or more additional categories based on the code and marker information upon a request from the user.
 15. A method performed for task execution, comprising: 1) receiving an input from a user at a device of the user; 2) ascertaining whether the input includes a code; 3) obtaining marker information, the marker information indicating the user is on a periphery of an entity; 4) in response to that the input includes the code, presenting one or more objects at the device, the one or more objects having the code and obtained based on the code and information received from the entity; and 5) in response to selection from the one or more objects by the user, presenting information of a selected object at the device.
 16. The method according to claim 15 wherein the code only contains less than five words or a string of less than seven elements, the less than seven elements are at least one of one or more one-digit numerical numbers and one or more letters.
 17. The method according to claim 15 wherein the marker information further indicates the user is in a predetermined area of the entity.
 18. The method according to claim 15, further including transmitting data of the selection to the entity, and receiving the information of the selected object from the entity.
 19. The method according to claim 15, further including in response to the selection from the one or more objects, providing an option for purchasing the selected object.
 20. The method according to claim 15 wherein the code is configured at a position adjacent to a barcode or a quick response (QR) code of the selected object. 